package com.bestow.lease.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.bestow.common.annotation.Excel;
import com.bestow.common.core.domain.BaseEntity;

/**
 * 项目方案维护对象 prj_plan
 * 
 * @author liliu
 * @date 2022-12-07
 */
@TableName("prj_plan")
public class PrjPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** pk */
    @TableId(value = "PLAN_ID")
    private Long planId;

    /** 编号 */
    @Excel(name = "编号")
    private String planNumber;

    /** 名称 */
    @Excel(name = "名称")
    private String planName;

    /** 变更还是原始 */
    @Excel(name = "变更还是原始")
    private String dataClass;

    /** 单据类型 */
    @Excel(name = "单据类型")
    private String documentType;

    /** 工作流实例ID */
    @Excel(name = "工作流实例ID")
    private Long wflInstanceId;

    /** 工作流状态 */
    @Excel(name = "工作流状态")
    private String wflStatus;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitDate;

    /** 审批通过时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批通过时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvedDate;

    /** 单据所有者 */
    @Excel(name = "单据所有者")
    private Long owneUserId;

    /** 公司id */
    @Excel(name = "公司id")
    private Long companyId;

    /** 支持性文件id */
    @Excel(name = "支持性文件id")
    private Long cddListId;

    /** 模板id */
    @Excel(name = "模板id")
    private Long templetId;

    /** 集团内行业分类 */
    @Excel(name = "集团内行业分类")
    private String industryClassification;

    /** 行业一级分类 */
    @Excel(name = "行业一级分类")
    private String binaryClassification;

    /** 行业二级分类 */
    @Excel(name = "行业二级分类")
    private Long secondClassification;

    /** 项目期数 */
    @Excel(name = "项目期数")
    private String planTimes;

    /** 项目补增 */
    @Excel(name = "项目补增")
    private String planSupplement;

    /** 是否保理项目方案 Y 是 N否 */
    @Excel(name = "是否保理项目方案 Y 是 N否")
    private String factorFlag;

    /** 承租人/保理申请人 */
    @Excel(name = "承租人/保理申请人")
    private Long bpIdTenant;

    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }
    public void setPlanNumber(String planNumber) 
    {
        this.planNumber = planNumber;
    }

    public String getPlanNumber() 
    {
        return planNumber;
    }
    public void setPlanName(String planName) 
    {
        this.planName = planName;
    }

    public String getPlanName() 
    {
        return planName;
    }
    public void setDataClass(String dataClass) 
    {
        this.dataClass = dataClass;
    }

    public String getDataClass() 
    {
        return dataClass;
    }
    public void setDocumentType(String documentType) 
    {
        this.documentType = documentType;
    }

    public String getDocumentType() 
    {
        return documentType;
    }
    public void setWflInstanceId(Long wflInstanceId) 
    {
        this.wflInstanceId = wflInstanceId;
    }

    public Long getWflInstanceId() 
    {
        return wflInstanceId;
    }
    public void setWflStatus(String wflStatus) 
    {
        this.wflStatus = wflStatus;
    }

    public String getWflStatus() 
    {
        return wflStatus;
    }
    public void setSubmitDate(Date submitDate) 
    {
        this.submitDate = submitDate;
    }

    public Date getSubmitDate() 
    {
        return submitDate;
    }
    public void setApprovedDate(Date approvedDate) 
    {
        this.approvedDate = approvedDate;
    }

    public Date getApprovedDate() 
    {
        return approvedDate;
    }
    public void setOwneUserId(Long owneUserId) 
    {
        this.owneUserId = owneUserId;
    }

    public Long getOwneUserId() 
    {
        return owneUserId;
    }
    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }
    public void setCddListId(Long cddListId) 
    {
        this.cddListId = cddListId;
    }

    public Long getCddListId() 
    {
        return cddListId;
    }
    public void setTempletId(Long templetId) 
    {
        this.templetId = templetId;
    }

    public Long getTempletId() 
    {
        return templetId;
    }
    public void setIndustryClassification(String industryClassification) 
    {
        this.industryClassification = industryClassification;
    }

    public String getIndustryClassification() 
    {
        return industryClassification;
    }
    public void setBinaryClassification(String binaryClassification) 
    {
        this.binaryClassification = binaryClassification;
    }

    public String getBinaryClassification() 
    {
        return binaryClassification;
    }
    public void setSecondClassification(Long secondClassification) 
    {
        this.secondClassification = secondClassification;
    }

    public Long getSecondClassification() 
    {
        return secondClassification;
    }
    public void setPlanTimes(String planTimes) 
    {
        this.planTimes = planTimes;
    }

    public String getPlanTimes() 
    {
        return planTimes;
    }
    public void setPlanSupplement(String planSupplement) 
    {
        this.planSupplement = planSupplement;
    }

    public String getPlanSupplement() 
    {
        return planSupplement;
    }
    public void setFactorFlag(String factorFlag) 
    {
        this.factorFlag = factorFlag;
    }

    public String getFactorFlag() 
    {
        return factorFlag;
    }
    public void setBpIdTenant(Long bpIdTenant) 
    {
        this.bpIdTenant = bpIdTenant;
    }

    public Long getBpIdTenant() 
    {
        return bpIdTenant;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planId", getPlanId())
            .append("planNumber", getPlanNumber())
            .append("planName", getPlanName())
            .append("dataClass", getDataClass())
            .append("documentType", getDocumentType())
            .append("wflInstanceId", getWflInstanceId())
            .append("wflStatus", getWflStatus())
            .append("submitDate", getSubmitDate())
            .append("approvedDate", getApprovedDate())
            .append("owneUserId", getOwneUserId())
            .append("companyId", getCompanyId())
            .append("cddListId", getCddListId())
            .append("templetId", getTempletId())
            .append("industryClassification", getIndustryClassification())
            .append("binaryClassification", getBinaryClassification())
            .append("secondClassification", getSecondClassification())
            .append("planTimes", getPlanTimes())
            .append("planSupplement", getPlanSupplement())
            .append("factorFlag", getFactorFlag())
            .append("bpIdTenant", getBpIdTenant())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
